package com.dragon.modules.yuegou.mapper.product;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.dragon.modules.yuegou.entity.product.GrouponInfoEntity;
import com.dragon.modules.yuegou.model.product.GrouponInfo;
import com.dragon.modules.yuegou.query.product.GrouponInfoListQuery;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

/**
 * 拼团活动信息表 Mapper接口
 *
 * @author pbuilder generated
 * @date 2019-09-17 15:23:51
 * @version 2.0
 */
@Component("proGrouponInfoMapper")
public interface GrouponInfoMapper extends BaseMapper<GrouponInfoEntity> {

	IPage<GrouponInfo> search(IPage<GrouponInfo> page, @Param("query") GrouponInfoListQuery query);

	/**
	 * 更新库存（用于调整库存余量的场景）
	 *
	 * @param oldStock
	 *            旧库存（余量）（当做乐观锁版本号使用）
	 * @param newStock
	 *            新库存（余量）
	 * @param modifiedBy
	 *            更新人ID
	 * @return 更新数量，0表示更新失败，1表示更新成功
	 */
	int updateStock(@Param("id") String id, @Param("oldStock") int oldStock, @Param("newStock") int newStock,
			@Param("modifiedBy") String modifiedBy);

	/**
	 * 拼团信息ID
	 * 
	 * @param id
	 */
	void increaseShareNum(@Param("id") String id);
}
